36. Visualizzare i modelli di equazioni strutturali#

36.1. Oltre la regressione multipla#

In generale, lo psicologo ha a che fare con diagrammi di percorso nei quali sono presenti variabili non osservabili (latenti) e quindi l’approccio della regressione multipla non può essere applicato. È necessario invece descrivere il diagramma di percorso mediante un insieme di equazioni strutturali, definendo un numero di equazioni almeno altrettanto grande quanto il numero delle incognite. Tale soluzione viene solitamente fornita da un software.

36.1.1. Una seconda applicazione#

Weiss, Forkus, Contractor, e Schick (2018) esaminano con una path analisi la relazione tra la difficiltà di regolare le emozioni positive e l’abuso di alcol e di sostanze.

  • La difficoltà di regolare le emozioni positive viene misurata con la Difficulties in Emotion Regulation Scale – Positive (DERS-P; Weiss, Gratz, & Lavender, 2015), che comprende le sottoscale di Acceptance, Impulse, e Goals.

  • L’abuso di sostanze viene misurato con la Drug Abuse Screening Test (DAST; Skinner, 1982).

  • L’abuso di alcol viene misurato con la Alcohol Use Disorder Identification Test (AUDIT; Saunders, Aasland, Babor, De la Fuente, & Grant, 1993), con le sottoscale di Hazardous Consumption, Dependence, e Consequences.

I dati di un campione di 284 partecipanti sono riportati nella forma di una matrice di correlazione.

lower <- '
   1
   .38 1
   .41 .64 1
   .34 .44 .30 1
   .29 .12 .27 .06 1
   .29 .22 .20 .17 .54 1
   .30 .15 .23 .09 .73 .69 1
'
dat_cov <- lavaan::getCov(
  lower, 
  names=c("dmis","con", "dep", "consu", "acc", "goal", "imp"))
print(dat_cov)
      dmis  con  dep consu  acc goal  imp
dmis  1.00 0.38 0.41  0.34 0.29 0.29 0.30
con   0.38 1.00 0.64  0.44 0.12 0.22 0.15
dep   0.41 0.64 1.00  0.30 0.27 0.20 0.23
consu 0.34 0.44 0.30  1.00 0.06 0.17 0.09
acc   0.29 0.12 0.27  0.06 1.00 0.54 0.73
goal  0.29 0.22 0.20  0.17 0.54 1.00 0.69
imp   0.30 0.15 0.23  0.09 0.73 0.69 1.00

I dati vengono analizzati con due modelli di path analysis. Nel primo modello si ipotizza che la difficoltà di regolare le emozioni positive sia una variabile esogena che influenza sia l’abuso di sostanze sia l’abuso di alcol. Si ipotizza inoltre che abuso di sostanze e abuso di alcol siano correlate.

La difficoltà di regolare le emozioni positive è indicata da drpe; l’abuso di alcolo è denotato da amis; l’abuso di sostanze è denotato da dmis.

mod <- '
  drpe =~ NA*acc + goal + imp
  amis =~ NA*con + dep + consu
  amis ~ drpe
  dmis ~ drpe
  dmis ~~ amis
  drpe ~~ 1*drpe
  amis ~~ 1*amis
'

Svolgiamo l’analisi statistica con sem().

fit <- lavaan::sem(mod, sample.cov = dat_cov, sample.nobs = 284)

Esaminiamo i risultati.

summary(fit, fit.measures = TRUE, standardized = TRUE, rsquare = TRUE) |>
    print()
lavaan 0.6.16 ended normally after 18 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                        16

  Number of observations                           284

Model Test User Model:
                                                      
  Test statistic                                38.211
  Degrees of freedom                                12
  P-value (Chi-square)                           0.000

Model Test Baseline Model:

  Test statistic                               741.324
  Degrees of freedom                                21
  P-value                                        0.000

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.964
  Tucker-Lewis Index (TLI)                       0.936

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)              -2465.787
  Loglikelihood unrestricted model (H1)      -2446.682
                                                      
  Akaike (AIC)                                4963.574
  Bayesian (BIC)                              5021.958
  Sample-size adjusted Bayesian (SABIC)       4971.221

Root Mean Square Error of Approximation:

  RMSEA                                          0.088
  90 Percent confidence interval - lower         0.057
  90 Percent confidence interval - upper         0.120
  P-value H_0: RMSEA <= 0.050                    0.023
  P-value H_0: RMSEA >= 0.080                    0.688

Standardized Root Mean Square Residual:

  SRMR                                           0.046

Parameter Estimates:

  Standard errors                             Standard
  Information                                 Expected
  Information saturated (h1) model          Structured

Latent Variables:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  drpe =~                                                               
    acc               0.769    0.053   14.440    0.000    0.769    0.770
    goal              0.727    0.054   13.473    0.000    0.727    0.728
    imp               0.943    0.050   18.956    0.000    0.943    0.945
  amis =~                                                               
    con               0.808    0.058   13.855    0.000    0.835    0.837
    dep               0.730    0.058   12.607    0.000    0.755    0.756
    consu             0.477    0.060    7.973    0.000    0.493    0.494

Regressions:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  amis ~                                                                
    drpe              0.263    0.073    3.614    0.000    0.254    0.254
  dmis ~                                                                
    drpe              0.333    0.060    5.534    0.000    0.333    0.334

Covariances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
 .amis ~~                                                               
   .dmis              0.431    0.060    7.216    0.000    0.431    0.458

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
    drpe              1.000                               1.000    1.000
   .amis              1.000                               0.936    0.936
   .acc               0.406    0.045    9.020    0.000    0.406    0.407
   .goal              0.468    0.047    9.876    0.000    0.468    0.470
   .imp               0.106    0.045    2.385    0.017    0.106    0.107
   .con               0.299    0.064    4.690    0.000    0.299    0.300
   .dep               0.427    0.060    7.072    0.000    0.427    0.428
   .consu             0.753    0.069   10.979    0.000    0.753    0.756
   .dmis              0.886    0.075   11.771    0.000    0.886    0.889

R-Square:
                   Estimate
    amis              0.064
    acc               0.593
    goal              0.530
    imp               0.893
    con               0.700
    dep               0.572
    consu             0.244
    dmis              0.111

Creiamo un path diagram.

nice_lavaanPlot(fit, stand = TRUE, stars= FALSE, covs = TRUE)

Gli autori esplorano un modello alternativo nel quale le relazioni causali vengono rovesciate: in questo caso è la difficoltà di regolazione delle emozioni positive ad essere la variabile esogena, e l’abuso di sostanze e l’abuso di alcol sono le variabili esogene.

mod_alt <- '
  drpe =~ NA*acc + goal + imp
  amis =~ NA*con + dep + consu
  drpe ~ amis + dmis
  dmis ~~ amis
  drpe ~~ 1*drpe
  amis ~~ 1*amis
'

Adattiamo il modello ai dati.

fit_alt <- sem(mod_alt, sample.cov = dat_cov, sample.nobs = 311)

Esaminiamo i risultati.

summary(fit_alt, fit.measures = TRUE, standardized = TRUE, rsquare = TRUE) |>
    print()
lavaan 0.6.16 ended normally after 19 iterations

  Estimator                                         ML
  Optimization method                           NLMINB
  Number of model parameters                        16

  Number of observations                           311

Model Test User Model:
                                                      
  Test statistic                                41.844
  Degrees of freedom                                12
  P-value (Chi-square)                           0.000

Model Test Baseline Model:

  Test statistic                               811.802
  Degrees of freedom                                21
  P-value                                        0.000

User Model versus Baseline Model:

  Comparative Fit Index (CFI)                    0.962
  Tucker-Lewis Index (TLI)                       0.934

Loglikelihood and Information Criteria:

  Loglikelihood user model (H0)              -2700.544
  Loglikelihood unrestricted model (H1)      -2679.623
                                                      
  Akaike (AIC)                                5433.089
  Bayesian (BIC)                              5492.925
  Sample-size adjusted Bayesian (SABIC)       5442.179

Root Mean Square Error of Approximation:

  RMSEA                                          0.089
  90 Percent confidence interval - lower         0.061
  90 Percent confidence interval - upper         0.120
  P-value H_0: RMSEA <= 0.050                    0.014
  P-value H_0: RMSEA >= 0.080                    0.727

Standardized Root Mean Square Residual:

  SRMR                                           0.046

Parameter Estimates:

  Standard errors                             Standard
  Information                                 Expected
  Information saturated (h1) model          Structured

Latent Variables:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  drpe =~                                                               
    acc               0.721    0.048   15.117    0.000    0.769    0.770
    goal              0.682    0.048   14.097    0.000    0.727    0.728
    imp               0.885    0.046   19.287    0.000    0.944    0.945
  amis =~                                                               
    con               0.835    0.057   14.742    0.000    0.835    0.837
    dep               0.755    0.057   13.273    0.000    0.755    0.756
    consu             0.494    0.059    8.366    0.000    0.494    0.494

Regressions:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  drpe ~                                                                
    amis              0.123    0.080    1.532    0.125    0.115    0.115
    dmis              0.294    0.073    4.030    0.000    0.276    0.276

Covariances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
  amis ~~                                                               
    dmis              0.502    0.059    8.521    0.000    0.502    0.503

Variances:
                   Estimate  Std.Err  z-value  P(>|z|)   Std.lv  Std.all
   .drpe              1.000                               0.879    0.879
    amis              1.000                               1.000    1.000
   .acc               0.406    0.043    9.439    0.000    0.406    0.407
   .goal              0.468    0.045   10.335    0.000    0.468    0.470
   .imp               0.106    0.043    2.496    0.013    0.106    0.107
   .con               0.299    0.061    4.908    0.000    0.299    0.300
   .dep               0.427    0.058    7.401    0.000    0.427    0.428
   .consu             0.753    0.066   11.489    0.000    0.753    0.756
    dmis              0.997    0.080   12.470    0.000    0.997    1.000

R-Square:
                   Estimate
    drpe              0.121
    acc               0.593
    goal              0.530
    imp               0.893
    con               0.700
    dep               0.572
    consu             0.244

Creiamo il diagramma di percorso.

nice_lavaanPlot(fit_alt, stand = TRUE, stars= FALSE, covs = TRUE)

In entrambi i casi i risultati replicano quanto riportato dagli autori.